// Project name:JavaRedis
// Creator:muhong
// Date time:2023/8/5,5:52 下午
// Name:EmptyByteBuf

package io.gmh.buffer;

import io.gmh.util.ReferenceCounted;
import io.gmh.util.StringUtil;
import org.gmh.util.internal.ObjectUtil;

public class EmptyByteBuf extends ByteBuf {

    private final ByteBufAllocator alloc;
    private final java.nio.ByteOrder order;
    private final String str;
    private EmptyByteBuf swapped;

    public EmptyByteBuf(ByteBufAllocator alloc) {
        this(alloc, java.nio.ByteOrder.BIG_ENDIAN);
    }

    private EmptyByteBuf(ByteBufAllocator alloc, java.nio.ByteOrder order) {
        this.alloc = ObjectUtil.checkNotNull(alloc, "alloc");
        this.order = order;
        str = StringUtil.simpleClassName(this) + (order == java.nio.ByteOrder.BIG_ENDIAN? "BE" : "LE");
    }


    @Override
    public int capacity() {
        return 0;
    }

    @Override
    public ByteBuf capacity(int newCapacity) {
        return null;
    }

    @Override
    public int maxCapacity() {
        return 0;
    }

    @Override
    public ByteBufAllocator alloc() {
        return null;
    }

    @Override
    public ByteOrder order() {
        return null;
    }

    @Override
    public ByteBuf unwrap() {
        return null;
    }

    @Override
    public boolean isDirect() {
        return false;
    }

    @Override
    public boolean isReadOnly() {
        return false;
    }

    @Override
    public ByteBuf asReadOnly() {
        return null;
    }

    @Override
    public int readerIndex() {
        return 0;
    }

    @Override
    public ByteBuf readerIndex(int readerIndex) {
        return null;
    }

    @Override
    public int writerIndex() {
        return 0;
    }

    @Override
    public ByteBuf writerIndex(int writerIndex) {
        return null;
    }

    @Override
    public ByteBuf setIndex(int readerIndex, int writerIndex) {
        return null;
    }

    @Override
    public int readableBytes() {
        return 0;
    }

    @Override
    public int writableBytes() {
        return 0;
    }

    @Override
    public int maxWritableBytes() {
        return 0;
    }

    @Override
    public boolean isReadable() {
        return false;
    }

    @Override
    public boolean isReadable(int size) {
        return false;
    }

    @Override
    public boolean isWritable() {
        return false;
    }

    @Override
    public boolean isWritable(int size) {
        return false;
    }

    @Override
    public ByteBuf clear() {
        return null;
    }

    @Override
    public ByteBuf markReaderIndex() {
        return null;
    }

    @Override
    public ByteBuf resetReaderIndex() {
        return null;
    }

    @Override
    public ByteBuf markWriterIndex() {
        return null;
    }

    @Override
    public ByteBuf resetWriterIndex() {
        return null;
    }

    @Override
    public ByteBuf discardReadBytes() {
        return null;
    }

    @Override
    public ByteBuf discardSomeReadBytes() {
        return null;
    }

    @Override
    public ByteBuf ensureWritable(int minWritableBytes) {
        return null;
    }

    @Override
    public int ensureWritable(int minWritableBytes, boolean force) {
        return 0;
    }

    @Override
    public boolean getBoolean(int index) {
        return false;
    }

    @Override
    public byte getByte(int index) {
        return 0;
    }

    @Override
    public short getUnsignedByte(int index) {
        return 0;
    }

    @Override
    public short getShort(int index) {
        return 0;
    }

    @Override
    public short getShortLE(int index) {
        return 0;
    }

    @Override
    public short getUnsignedShort(int index) {
        return 0;
    }

    @Override
    public short getUnsignedShortLE(int index) {
        return 0;
    }

    @Override
    public int getMedium(int index) {
        return 0;
    }

    @Override
    public int getMediumLE(int index) {
        return 0;
    }

    @Override
    public int getUnsignedMedium(int index) {
        return 0;
    }

    @Override
    public int getUnsignedMediumLE(int index) {
        return 0;
    }

    @Override
    public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
        return null;
    }

    @Override
    public ByteBuf asByteBuf() {
        return null;
    }

    @Override
    public int refCnt() {
        return 0;
    }

    @Override
    public ReferenceCounted retain() {
        return null;
    }

    @Override
    public ReferenceCounted retain(int increment) {
        return null;
    }

    @Override
    public ReferenceCounted touch() {
        return null;
    }

    @Override
    public ReferenceCounted touch(Object hint) {
        return null;
    }

    @Override
    public boolean release() {
        return false;
    }

    @Override
    public boolean release(int decreament) {
        return false;
    }

    @Override
    public int compareTo(ByteBuf o) {
        return 0;
    }
}
